package com.fingard.dsp.bank.directbank.payease01;

import com.fingard.dsp.bank.directConfig.ActSetItem;
import com.fingard.dsp.bank.directbank.DirectBase;
import com.fingard.net.WebRequest;

/**  F.cruise
 *  首信易通用基类
 */
public class PayEase01Base extends DirectBase {
	/**
	 *  获取字符编码
	 * @return 配置文件字符编码
	 */
	protected String getCharset() {
		return getBankConfig().getCharset("UTF-8");
	}
	
	/**
	 * 发送请求数据到首信易
	 * @param p_for 交易地址
	 * @param p_reqJson 原始JSON
	 * @param actItem 商户配置信息
	 * @return 首信易返回数据
	 * @throws Exception 通讯异常
	 */
	protected String[] sendToBank(String p_for, String p_reqJson, ActSetItem actItem) throws Exception{
        WriteBankLogLn2("提交首信易地址为：" + bankFront.getUrl(p_for));
        
        // JSON加密（DES加密）
        String postJson = EncDecUtil.enc(actItem.saltKey, p_reqJson);
		
        // 发送首信易数据(加密后JSON)
		WriteBankLogStep2(postJson);
		
		WebRequest tmpWebRequest = new WebRequest(bankFront.getUrl(p_for));
		tmpWebRequest.setConnectTimeout(60000);
		tmpWebRequest.setRequestProperty("connection", "Close");
		
		// 发送首信易并获取返回数据
		return tmpWebRequest.upload(postJson.getBytes(getCharset()), getCharset());
	}
}
